package com.vimeworks.vimemannager.ejb.aplicacion;

import java.math.BigDecimal;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import org.apache.log4j.Logger;

import com.vimeworks.vimemannager.ejb.exeptions.BusquedaException;
import com.vimeworks.vimemannager.ejb.exeptions.ConstantesPersistencia;
import com.vimeworks.vimemannager.ejb.exeptions.EntidadNoEliminadaException;
import com.vimeworks.vimemannager.ejb.exeptions.SqlIncorrectoException;
import com.vimeworks.vimemannager.ejb.generico.GenericBean;
import com.vimeworks.vimemannager.modelo.aplicacion.AsignacionIntegrante;

/**
 * Session Bean implementation class UsuarioBean
 */
@Stateless
public class AsignacionIntegranteBean extends GenericBean<AsignacionIntegrante, BigDecimal> implements AsignacionIntegranteBeanLocal {

	private static final Logger log = Logger.getLogger(AsignacionIntegranteBean.class);
	
	@PersistenceContext(unitName = "vimeManagerPU")
	protected EntityManager em;
	
    public AsignacionIntegranteBean() {
        super(AsignacionIntegrante.class);
    }

	/* (non-Javadoc)
	 * @see com.vimeworks.vimemannager.ejb.aplicacion.AsignacionIntegranteBeanLocal#eliminarActividad(java.math.BigDecimal)
	 */
	public void eliminarAsignacion(BigDecimal codigo) throws EntidadNoEliminadaException {
		try {
			AsignacionIntegrante asignacion = super.buscarPorCodigo(codigo);
			asignacion.setEstado(ConstantesPersistencia.REGISTRO_INACTIVO);
		} catch (BusquedaException e) {
			log.error(" ---> Error en la busqueda de asignacion", e);
			throw new EntidadNoEliminadaException(e);
		}
	}

	public AsignacionIntegrante buscarPorId(BigDecimal codigo)
			throws BusquedaException {
		return super.buscarPorCodigo(codigo);
	}

}
